The computer has greatly affected essentially all forms of information management, including the process of managing the entire lifecycle of a product from its conception, through design and manufacture to service and disposal. The term for this process is Product Lifecycle Management, or PLM. It is a cornerstone of a corporation's IT digital structure. One of the features of PLM is to collect knowledge that can be reused for other projects and to coordinate concurrent development of many products. PLM can also include the coordination of and management of product definition data, including configuring product variations. The management of product definition data involves managing that product's bill of materials. The bill of materials, or BOM, describes the product in a tabular format and in terms of its assemblies, sub-assemblies, and basic components and parts. The BOM is a subset of a larger bill of information concept which can enumerate information that is related to a product or a process and provide sufficient information as it is designed, manufactured, ordered, built, maintained, and/or processed.
As can be imagined, there is a lot of data required to maintain BOM's for multi-component products like an automobile or a jet fighter. To maintain data, a corporation's IT digital infrastructure utilizes a database system, or data warehouse, to manage all data flowing into and out from data centers. Typical database systems are distributed, relational, and/or object oriented, with relational being the most common. With each request to the relational database is at least one SQL statement, and more often than not there are tens to hundreds of SQL requests accessing information in the database. An example SQL query might retrieve the price of all hoses longer than 2 inches, sorted by manufacturer, with the following statement: SELECT price FROM hoses WHERE length>2 ORDER BY mfg. A common notation method in SQL techniques is to place the key words in capitalized letters and place the variables in lowercase letters. With potentially several thousand SQL statements requesting data from the relational database servers on one product configuration, there is a lot of computational stress placed on those servers.
Referring to product design and development, when a product is designed as a generic product family, it has to be configured to a specific product variant or product variant family for almost every business process throughout the entire product life cycle. Every manufactured product instance, every physical or digital prototype, every analysis or simulation, is based on a specific product variant configuration. All of these business processes that involve a specific product variant depend on the ability to solve a BOM to a specific product variant.
When the actual range of product variants that are manufactured and sold throughout the product lifecycle is not know until after completing the design phase, it is highly desirable to validate as many aspects of every product variant as soon as possible during the design phase. For example, clearance and interference checking processes may iterate through a list of product configurations on a regular basis.
There is a need for a solution that can send only one SQL statement when configuring the product for a specific string regardless of the size and complexity of the product. A better solution will substantially increase the number of product variants being validated early in the design phase, which will reduce problems found later in the lifecycle and resulting in shorter design phases.